Python数据解析

您所在的位置:网站首页 python json数据解析 Python数据解析

Python数据解析

2023-08-14 19:07| 来源: 网络整理| 查看: 265

前言

Python语言在人工智能以及计算机视觉领域十分热门,它处理数据的能力很出色,兼容各种常用的数据类型解析。程序无非就是一系列数据操作行为的集合,从输入到输出以求得人们期望的结果。Python在执行效率和开发效率中找到平衡点,很适合快速开发算法复杂,数据处理量大的应用。高效率的数据处理能力离不开结构化的数据交互,python当然对CSV,JSON、XML这些常用的结构化数据类型是完美兼容的。

Python CSV解析

CSV逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),它通常用于在电子表格软件和纯文本之间交互数据,其文件以纯文本形式存储表格数据(数字和文本)。从真正意义上说它并不是结构化的数据,而仅仅是一些用逗号分隔的原始字符串。

Python中对于特定的一些简单CSV文件用str.split(‘,’)就能满足要求,但是不推荐这么做,因为某些字段值可能存在嵌套关系。Python有专门用于解析和生成的CSV的库,如csv模块。

Python应用csv样例 #! /usr/bin/env python import csv from distutils.log import warn as printf DATA = ( ('id', 'name', 'age','sex','wage'), (1, '小李', 24, 'm', '8000'), (2, '小王', 25, 'm', '6000'), (3, '小杜', 23, 'w', '6000'), ) printf('*** Write CSV DATA') f = open('wageinfo.csv','w',newline='') writer = csv.writer(f) for record in DATA: writer.writerow(record) print(record) f.close() printf('read csv data') f = open('wageinfo.csv','r') reader = csv.reader(f) for id,name,age,sex,wage in reader: printf('id %s: name: %s age: %s sex: %s wage: %s' %(id,name,age,sex,wage)) f.close() Python JSON数据解析

JSON(JavaScript Object Notation, JS 对象简谱)是轻量级的数据交换方式,也是以人类易读懂的方式传输结构化数据,这使得它在网络传输方面应用很广,前后端的数据交换格式通常也是JSON,python这门在网路爬虫方面性能优异的语言当然也会完美支持JSON的解析,在程序中引用json模块即可。

JSON本质是字符串,它通过键/值(key/value)的方式将数据结构化,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,然后紧接着值,当然也可以进行多层嵌套以实现更为复杂的数据结构类型。

Python应用JSON样例 #! /usr/bin/env python from distutils.log import warn as printf from json import dumps from pprint import pprint BOOKs = { '2019010101':{ 'tilte':'Core Python Programming', 'edition':2, 'year':2019, }, '2019010102':{ 'title':'Python web Development with Django', 'authors':['Jeff Forcier','Pual Bissex','Wesley Chun'], 'year':2019, }, '2019010103':{ 'title':'Python Fundamenttals', 'year':2019, }, } printf(' RAW DICT') printf('BOOKs') printf('\n PRETTY_PRINTEDDICT') pprint(BOOKs) printf('\n RAW JSON') printf(dumps(BOOKs)) printf('\n PRETTY_PRINTEDJSON') printf(dumps(BOOKs,indent=4)) Python XML数据解析

XML 指可扩展标记语言(eXtensible Markup Language),是一种比较老的结构化数据格式,相比JSON来说还是比较难一眼就看清它的数据内容的,在高级语言程序中通常有相应的解析器来实现对XML格式化数据操作。

XML文档与HTML非常类似,但XML并不是HTML的替代,它们设计目的不同,XML 被设计用来传输和存储数据,其焦点是数据的内容,而HTML 被设计用来显示数据,其焦点是数据的外观。但它们的结构类似,由一些元素和属性构成。

Python应用XML样例 #! /usr/bin/env python from xml.etree.ElementTree import Element,SubElement,tostring from xml.dom.minidom import parseString BOOKs = { '2019010101':{ 'tilte':'Core Python Programming', 'edition':2, 'year':2019, }, '2019010102':{ 'title':'Python web Development with Django', 'authors':['Jeff Forcier','Pual Bissex','Wesley Chun'], 'year':2019, }, '2019010103':{ 'title':'Python Fundamenttals', 'year':2019, }, } books = Element('books') for isbn,info in BOOKs.items(): book = SubElement(books,'book') info.setdefault('authors','Wesley Chun') info.setdefault('edition',1) for key,val in info.items(): SubElement(book,key).text = ', '.join(str(val).split(':')) xml = tostring(books) print (' RAW XML') print (xml) print ('\nPRETTY_PRINTED XML') dom = parseString(xml) print (dom.toprettyxml(' ')) print (' FLAT STRUCTURE') for elmt in books.getiterator(): print (elmt.tag, '_',elmt.text) print ('\n TITLES ONLY') for book in books.findall('.//title'): print (book.text) 总结

Python在人工智能以及计算机视觉领域十分热门,它强大的类库支持对快速开发应用提供了可能性,相比于C/C++开发来说,它只需要一个简单的文件编辑工具,甚至连编译都不用就能运行代码,带你探索新世界。它既有近似于底层C/C++的运行效率,也有JAVA这种高级语言的面向对象开发效率,简直perfect,记2018年末于广州。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3